#include <iostream>

using namespace std;
const int N = 1010, mod = 1e9 + 7;


int f[N][N];

int main() {

    int n;
    scanf("%d", &n);


    //前i个数总和是0：f[i][0] = 1 (即只有1种方案，就是1个都不选)
    for (int i = 0; i <= n; i++) f[i][0] = 1;

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            for (int k = 0; k * i <= j; k++) f[i][j] = (f[i][j] + f[i - 1][j - k * i]) % mod;
        }
    }

    printf("%d", f[n][n]);


    return 0;
}

